﻿IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'PermisosXUsuarioGet')
	BEGIN
		DROP  Procedure  PermisosXUsuarioGet
	END
GO

CREATE PROCEDURE PermisosXUsuarioGet 	
	(	
		@Usuario AS VARCHAR(30),
		@Tipo AS CHAR(1) = NULL	
	)	
AS
BEGIN	
	SET NOCOUNT ON
	
	IF @Usuario = 'Admin' 
	BEGIN
		SELECT p.PermisoId, p.Codigo, p.Nombre, p.Tipo
		FROM permiso p		
		WHERE p.Tipo = ISNULL(@Tipo,p.Tipo)
		  AND p.Activo = 1
	END	
	ELSE
	BEGIN
		SELECT p.PermisoId, p.Codigo, p.Nombre, p.Tipo
		FROM permisoXusuario u
		INNER JOIN permiso p ON (p.PermisoId = u.permisoId)
		WHERE u.usuarioId = @Usuario
		  AND p.Tipo = ISNULL(@Tipo,p.Tipo)
		  AND p.Activo = 1
	END 	

	SET NOCOUNT OFF
END
GO

